from flask import Flask
from config import BaseConfig
from extension.ext_sql import init_app_for_sqlalchemy,db
# 此处需要显式的引入模型，未被引入的模型将不会创建/删除
from models import demo

"""
自动建表程序,原理如下:
    1.导入 BaseConfig 配置文件来初始化 Flask App 的上下文参数;
    2.init_app_for_sqlalchemy() 函数用于初始化 Flask-SqlAlchemy
    3.with app.app_context(): 在 app 的上下文环境中执行删除旧表和创建新表的操作
"""

# 创建应用
app = Flask(__name__)
# 配置 app 所需参数
app.config.from_object(BaseConfig)
init_app_for_sqlalchemy(app)

with app.app_context():
    # 删表
    db.drop_all()
    # 建表
    db.create_all()

